//第十五章 wevgl http://www.hewebgl.com/ 国内thre.js教程

//自己管理数据

var arrBuf = new ArrayBuffer(20); //一个20字节的数组 20B

var view = new DataView(arrBuf,0,20);//创建一个视图是从第0到20个字节显示的(默认是这样)
//读写数据
view.setUint16(0,30); //写入第一个16位 一个16位占2个字节
view.setUint16(2,100); //写入第二个 偏移参数变成2

val1 = view.getUint16(0); 
val2 = view.getUint16(2);//取数据也是，偏移位置要写对
console.log('val1,val2',val1,val2)

//指定数据类型的数组

var ary8 = new Int8Array([20,30,40,1000]);
console.log('ary8=',ary8.length,ary8.byteLength,ary8[0]);

//webgl绘图
var ele = document.getElementById("drawing");
var glCtx = WebGLUtil.getContext("drawing");
console.log("glCtx=",glCtx,'rgb=',WebGLUtil.hexToRgb("#ffcc88"));
var color = "ffccdd";
console.log(color.substring(0,2));
console.log(color.substring(2,4),color.substr(1,3));

var n = 0.2345;
console.log("n=",n.toFixed(2),ele.width,ele.height);
glCtx.clearColor.apply(glCtx,WebGLUtil.hexToRgb("#ff3300"));
glCtx.clear(glCtx.COLO_BUFFER_BIT);

//设置视口
glCtx.viewport(0,0,ele.width,ele.height);
//设置缓冲区
var buffer = glCtx.createBuffer();
glCtx.bindBuffer(glCtx.ARRAY_BUFFER, buffer);
glCtx.bufferData(glCtx.ARRAY_BUFFER, new Float32Array([0, 0.5, 1]), glCtx.STATIC_DRAW);

//gl.deleteBuffer(buffer); 释放缓冲期

//着色器 472 页 需要重新看